Split GFQL row frame operations#1507
Merged
Merged
Conversation
This was referenced May 17, 2026
perf: graphistry wheel size (625 kB) — GFQL engine files are large, investigate modularization
#1058
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1499
Summary
graphistry.compute.gfql.row.frame_opsfor active row-table construction, empty-frame construction,rows,drop_cols,skip,limit, anddistinct.RowPipelineMixinmethod surface as delegates so row-pipeline call dispatch remains unchanged.Scope / behavior
Validation
python3 -m py_compile graphistry/compute/gfql/row/frame_ops.py graphistry/compute/gfql/row/pipeline.pypython3 -m pytest -q graphistry/tests/compute/gfql/test_row_pipeline_ops.py -k "row_pipeline_exec_projection_sort_page_distinct or row_pipeline_rows_validation or row_pipeline_skip_limit_validation or row_pipeline_distinct_validation or drop_cols"-> 10 passedpython3 -m pytest -q graphistry/tests/compute/gfql/test_row_pipeline_ops.py -k "not cudf"-> 183 passed, 17 deselectedpython3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "issue_996_limit or issue_996_skip_limit or issue_996_distinct or compiled_query_sets_logical_plan_route_for_distinct_projection_shape or string_cypher_supports_constant_limit_expressions or string_cypher_supports_integer_division_in_limit_expression"-> 6 passed./bin/ruff.sh graphistry/compute/gfql/row graphistry/tests/compute/gfql/test_row_pipeline_ops.py./bin/typecheck.sh graphistry/compute/gfql/rowpython3 bin/ci_cypher_surface_guard.py~/repos/pygraphistry-1499-validation-20260517: RAPIDS 26.02test_row_pipeline_ops.py -k cudf-> 17 passed, 183 deselected~/repos/pygraphistry-1499-validation-20260517: RAPIDS 25.02test_row_pipeline_ops.py -k cudf-> 17 passed, 183 deselected; known numba-cuda driver-version warning onlyReview skill
plans/issue-1499-row-pipeline-modularization/locally.Notes
~/repos/pygraphistryfailed before tests because that clone is detached/dirty and older than this branch base (same_path_types.NODE_IDENTITY_COLUMNmissing). Final DGX validation used an isolated synced tree instead of resetting the shared clone.